Method and system for controlling and auditing content/service systems

ABSTRACT

An improved interactive network system is provided that allows the Network Operator to control the transfer of information to and from the network end users, the system preferably using triggers or markers embedded within the programming broadcast to users via the network. As a consequence of this system, the Network Operator is able to efficiently garner revenues from third parties transacting business over the network and to control the look and feel of programming offered to network users. Additionally the system can be used as a means of limiting network access, filtering programming, providing on-screen graphics or audible signals for particular programming types or providers, bookmarking programming, profiling network users, targeting advertising, and simplifying network transactions.

RELATED APPLICATIONS

This application is a continuation-in-part of and claims the benefit ofU.S. Application No. 60/203,461, filed May 11, 2000, the disclosure ofwhich is incorporated by reference.

FIELD OF THE INVENTION

The present invention relates generally to networks and, moreparticularly, to a method and system for providing means for an operatorof a network to control and audit interactions between a third partycontent/service provider coupled to the network and an end user.

BACKGROUND OF THE INVENTION

Enhanced television broadcasts, the Internet, and other informationtransferal technologies allow an end user to actively interact with avariety of different content and service providers as opposed to onlypassively receiving information. Accordingly a user can requestadditional information or purchase goods and services from a third partythat is only indirectly affiliated with the network and its operator.

An interaction between a user and a third party may be initiated in avariety of ways. For example, the user can initiate the interactionwithout consideration to the information currently being presented bythe network (e.g., user wishes to obtain status information about anairline arrival time in the middle of watching a movie). Alternately,the user may initiate the interaction in response to a prompt within thematerial currently being viewed (e.g., a prompt within a televisionadvertisement pertaining to additional available information such asspecifications, delivery, pricing, etc.). Alternately, a third party mayinitiate the interaction by requesting that the user provide additionalinformation (e.g., polling).

Regardless of how the interaction is initiated, once initiated the userinteracts directly with the third party. Unfortunately, although thenetwork supplies the conduit for the interaction, the operator of thenetwork is unable to monitor the interaction. As such, the operator isunable to control the interaction, including the look and presentationof the materials provided to the user during the interaction.Additionally, as the operator cannot monitor the interaction, they areunable to insure that they are receiving compensation for anyinteractions flowing over the network. As a consequence of thisinability to capture revenues from these network interactions, in manyinstances the operator is unwilling to upgrade a network to the extentnecessary to provide user interactivity. In other instances, althoughthe basic infrastructure necessary for user interactivity is in place,the operator may be reluctant to make improvements (e.g., interactivityspeed). In still other instances, the user may be charged a flat ratefor interactivity capabilities.

What is needed in the art is a method and a system that allowsinteractions occurring between a network user and a third party to bemonitored. The present invention provides such a method and system.

SUMMARY OF THE INVENTION

The present invention provides an improved interactive network systemthat allows the Network Operator to control the transfer of informationto and from end users that are coupled to the network. By providing acontrol mechanism, the Network Operator is able to efficiently garnerrevenues from third parties transacting business with the end users viathe network.

In one aspect of the invention, a Controller is used to monitor andcontrol interactions between users and Content Providers. By controllinginteractions, the Network Operator can determine which Content Providersare allowed to interact with users via the network as well as the formatof the interaction. Additionally, the Network Operator can chargeContent Providers for the opportunity to transact business via thenetwork. Controllable interactions include e-commerce, interactiveadvertising, polling, couponing, lead generation, etc.

In another aspect of the invention, the Controller coupled to thenetwork monitors for triggers or other markers embedded within enhancedcontent programming provided by various Content Providers. TheController can use these triggers or markers in a variety of ways.First, Content Provider access to the network can be limited toauthorized Content Providers, authorization typically being given tothose Content Providers that agree to a specific programming formatand/or agree to a fee arrangement with the Network Operator. Second, thetriggers/markers can be used for filtering purposes, allowing the enduser, the Network Operator, the Controller, or other party to filter theenhanced content programming that is provided to a specific end user.Third, specific on-screen graphics or audible signals can be matched tospecific types of enhanced content programming or programming fromparticular providers. Fourth, the system can be configured to allowusers to bookmark programming, primarily using triggers/markers as abookmarking technique.

In another aspect of the invention, user requests for enhanced contentprogramming are intercepted and forwarded to the Controller whichappends various parameters and information to the user request prior toforwarding the request to the designated Content Provider. The appendedparameters/information can include network and Network Operatorspecifications, end user Receiver specifications, business and/ortechnical rules, user profiles, etc. The Controller monitors theprogramming returned by the Content Provider and, as necessary, storestransactional information in memory.

According to yet another aspect of the invention, software residentwithin an end user's Receiver intercepts user transaction requests andstrips the requests of certain information. Additionally, the softwareinserts a Controller parameter list that includes Controller addressinformation and which may also include various system requirements. Themodified user transaction request is then forwarded to the userdesignated Content Provider. If the designated Content Provider abidesby the system requirements, the transaction is allowed to proceed.Depending upon the system configuration, the designated Content Providermay require additional information from the Controller or the NetworkOperator. If the designated Content Provider does not abide by thesystem requirements, the transaction is terminated.

According to yet another aspect of the invention, the Controller allowsuser transaction requests to go directly to the designated ContentProvider. If the Content Provider appends the required markers to theprogramming and abides by the system requirements, the programming isallowed to pass to the end user, thus completing this phase of thetransaction. Marker and system information can be provided to ContentProviders via an open API or other means. If the Content Provider doesnot include the required markers to the programming or otherwise doesnot abide by the system requirements, the programming is not allowed topass to the end user. Preferably the Content Provider is either notifiedof the system requirements at this point or instructed as to how toobtain the system requirements.

According to yet another aspect of the invention, transactionalinformation between an end user and a Content Provider is stored withina Shopping Cart under the control of the Controller. The Shopping Cartallows an end user to initiate a transaction at one point in time andconclude or finalize the transaction at a different point in time. Byallowing the user to postpone transaction finalization, spontaneoustransactions are encouraged. Preferably, once the user initiates atransaction, the Controller obtains additional transactional informationfrom the Content Provider thus allowing the Controller to directlyconclude the transaction with the end user. An additional benefit of theShopping Cart is that it allows the end user and/or the Network Operatorto track transactions. Thus the end user can easily enforce budgets andparental controls while the Network Operator can enforce ContentProvider fee arrangements.

According to yet another aspect of the invention, the data screensassociated with the Shopping Cart include advertising, the advertisingcovering some portion of each data screen. The advertising may be eitherstatic or dynamic and may include linking information to specificContent Providers offering the branded goods or services.

According to yet another aspect of the invention, a user profile isobtained for each network Receiver. Preferably multiple user profilesare permissible for each network Receiver, thus accounting for familiesof users, all of which are connected to the network by a singleReceiver. User profiles preferably include billing and shippinginformation, thus allowing the Controller to expeditiously finalize usertransactions. The user profile may also include Content Providerpreferences, programming preferences, etc.

According to yet another aspect of the invention, the user profile isautomatically developed by the Controller based on prior usertransactions. Such information can include the category of purchasedgood or service, the number of items purchased, both in total as well asfor a specific Content Provider, per item cost, the total cost perpurchase, etc. The profile can be used by the Controller to suggestContent Providers or enhanced content programming that may be ofinterest to the user. The profile can also be used by the Controller toalter programming so as to target the specific user, for example byaltering a Content Provider's spokesperson depending upon the user'sprofile. The profile can also be used for cross-selling purposes and totarget advertising, such as that which may be included in the ShoppingCart screens, to a specific user.

A further understanding of the nature and advantages of the presentinvention may be realized by reference to the remaining portions of thespecification and the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic illustration of the basic system of the invention;

FIGS. 2A-B illustrate the basic method associated with a systemoperating in accordance with the invention;

FIG. 3 illustrates the method of interaction with the ATV Shopping Cart;

FIG. 4 is a schematic illustration of the system utilizing ATV softwareresident in the individual receivers;

FIGS. 5A-B illustrate the method associated with the embodiment shown inFIG. 4;

FIG. 6 illustrates an alternate embodiment of the invention;

FIG. 7 illustrates alternate applications for user profiles;

FIG. 8 illustrates a method of trigger filtering;

FIG. 9 illustrates a method of replacing programming interruptions;

FIG. 10 illustrates a method of bookmarking;

FIG. 11 illustrates a method of obtaining links to past triggers; and

FIG. 12 illustrates a method of cross channel trigger filtering.

DESCRIPTION OF THE SPECIFIC EMBODIMENTS

The specification is divided into the following sections:

I. System Overview

II. Network Operators

III. ATV Controller Use of Triggers

IV. Basic System Utilizing Content Provider Inserted Markers/Triggers

-   -   1. Initial User Interaction    -   2. Shopping Cart    -   3. Transaction Tracking    -   4. User Profiles

V. System Utilizing ATV Software Resident Within Receivers

VI. System Utilizing Data Filtering

VII. API Information

VIII. Additional Embodiments

-   -   1. Profiling    -   2. Branding    -   3. Picture-in-Picture Viewing    -   4. Trigger Filtering        -   i) Source Control        -   ii) Audio Triggers        -   iii) Dynamic Replacement of Specific Content Utilizing            Triggers        -   iv) Trigger Bookmarks        -   v) Cross Channel Triggers

I. System Overview

FIG. 1 is a schematic illustration of a system 100 in accordance withthe invention. As shown, a service provider or Network Operator 101provides user devices or Receivers 103 with various types ofinformation, preferably at least some of which is provided by one ormore Content Providers 105. The service provided to user devices 103 canbe in the form of enhanced broadcast information that may includetelevision signals, on-demand programming, Internet capabilities, andother related services. Alternately, the service provided by NetworkOperator 101 can be limited to a single service such as Internet access,thereby limiting the user to browsing the Internet. Accordingly, NetworkOperator 101 can be a cable operator, a satellite broadcaster/operator,an Internet service provider, or other provider offering any of theabove noted services or similar services. User devices 103 can be anymeans that allow the user to view or otherwise access the information,in whole or in part, provided by Network Operator 101. In the preferredembodiment, Receivers 103 are set-top boxes that are coupled to atelevision. The set-top box can either be integral to, or separate from,the television. Alternately, Receivers 103 can be a telephone or apersonal digital assistant (PDA) with Internet access capabilities, anInternet coupled computer, or other information receiving means.Information is provided by Network Operator 101 to Receivers 103 vianetwork 107, network 107 being comprised of cable, fiber optics,telephone lines, terrestrial broadcast systems, satellite broadcastsystems, or some combination thereof. The information provided byContent Providers 105 can include television programming, access tovarious goods and services, etc.

According to the invention, coupled to Network Operator 101 is an ATV(Accelerate TV) Controller 109. Controller 109 allows Network Operator101 to control and audit the interactions between Receivers 103 andContent Providers 105. Additionally, ATV Controller 109 allows NetworkOperator 101 to enforce various business rules, thereby insuring thatContent Providers 105 present information to user devices 103 with anacceptable look and feel. Controllable transactions include, but are notlimited to, e-commerce, interactive advertising, polling, couponing,lead generation, etc. which flow between Receivers 103 and a specificContent Provider 105 via the network and Network Operator.

II. Network Operators

As previously noted, the present invention can utilize a variety ofdifferent network types on a variety of different electronic platforms.In the preferred embodiment, the service provided to the user isenhanced content television programming such as can be deployed on atelevision, set-top, or PC-based receiver. Enhanced televisionprogramming can operate over either analog or digital video systemsusing terrestrial, cable, optical fiber, satellite, or Internetnetworks. In contrast to standard television programming, enhancedtelevision programming allows user interactivity.

Although there are a variety of techniques for providing enhancedtelevision programming, they each generally provide standard programmingsuch as would be supplied by any video network, including thoseproviding non-enhanced content. In addition to standard programming,these various techniques supply the user with the enhanced contentprovided by Content Providers 105, the enhanced content including thenecessary graphics, layouts, interactions, and triggers. In order toprovide enhanced content, Network Operator 101 must be capable oftransporting the enhanced content data while the Receiver (e.g.,television, set-top box, PC-based system, etc.) must have the necessaryhardware and software to decode and play the enhanced content.Preferably the Receiver also has means (e.g., keypad, remote control,touch-screen, etc.) for allowing the user to interact with enhancedContent Providers 105.

Examples of standards that are being promulgated for use with enhancedcontent programming include the Advanced Television Enhancement Forum(ATVEF) standard and the xHTML standard, the latter being drafted incooperation with the Advanced Television Systems Committee (ATSC).Although there may be differences between the various standards and therequirements that they place on the Content Provider, the NetworkOperator, and the Receiver, they each require means for indicating whenenhanced content is available as well as its location. This information,referred herein as a trigger, is provided via a data or trigger streamthat accompanies the non-enhanced programming.

Triggers, and more specifically their arrival, notify the user, and/orthe user's system, that enhanced content is available. For example, atrigger may cause an interaction symbol “i” to appear in the corner ofthe user's television screen, indicating that the user can interact withthe system to find out more information, purchase a product, etc.Additionally, a trigger may be completely transparent to the user. Inthis instance the triggers may only be recognized by, and providedirection to, the system software.

Depending upon system implementation, the user may have the option ofturning on or off the enhanced content. Similarly, the user may berequired to accept the trigger prior to the enhanced content beingprovided. Additionally, Receiver 103 may include filtering means tofilter out specific triggers.

In response to an accepted trigger, Receivers 103 process the trigger aswell as the associated enhancements. Typically associated with eachtrigger is a uniform resource locator (URL) which provides the locationof the enhancement. Since the hyper-text transfer protocol (HTTP) hasbeen widely adopted as the foundational protocol of the World Wide Web(Web), the URL will commonly utilize the HTTP protocol. The URL schemealso enables resources that are stored locally by a broadcast capablereceiver, which are not accessible via the Internet, to be identified.In addition to the URL, the trigger may also include other informationsuch as a human-readable name, an expiration date, or a descriptor.Lastly, the trigger may contain syntax that is specific to a singleenhanced content programming standard. For example, Receivers 103 thatare configured to utilize the ATVEF standard are typically programmed toignore triggers that do not begin with a “<” in the first byte.

III. ATV Controller Use of Triggers

There are a variety of techniques for forcing Content Providers 105 toinsert ATV Controller recognized markers with their triggers. Thesetechniques are described in more detail below. Regardless of thetechnique, the use of triggers and markers allow ATV Controller 109 tomonitor and control the interactions occurring between Receivers 103 andContent Providers 105. For example, ATV Controller 109 can (i) prohibitcertain types of transactions, (ii) track monetary transactions, and(iii) enforce the business rules of Network Operator 101, typically byprohibiting those transactions that do not follow the designatedbusiness rules.

IV. Basic System Utilizing Content Provider Inserted Markers/Triggers

1. Initial User Interaction

FIGS. 2A-B illustrate the method associated with a system operating inaccordance with the invention. As previously briefly described, and asis well known by those of skill in the art, Content Providers 105broadcast enhanced content programming to user Receivers 103 (step 201),either using the same system as that used by the standard programmingbroadcaster or using an alternate system. The enhanced contentprogramming may be additional information and/or specifications for atopic currently being broadcast, purchasing information for a productcurrently being shown, polling information that allows the user toparticipate in a current game or event, on-demand programming/services,or other enhanced content programming. Typically the enhanced contentprogramming is either in the form of content-synchronous data oron-demand data.

When the user, through the use of Receiver 103, interacts with theenhanced content programming (step 203), ATV software resident withindevice 103 appends an ATV address to the user's request (step 205)(e.g., http://local.acceleratetv.com?http://www.xyz.com/ad.tvhtml+“other pertinent information”) and directsthe user request to ATV Controller 109 (step 207). If desired, at thisstage an authorization check can be performed to verify that ContentProvider 105 designated by the specific user request is registered withor otherwise authorized by Network Operator 101 (optional step 209). Ifthe designated Content Provider is not authorized (step 211), thetransaction can be terminated (step 213), a message can be sent to theuser indicating that the designated Content Provider is unauthorized(step 215), and/or the request can be forwarded to an authorized ContentProvider 105 supplying similar goods or services to those provided bythe originally designated Content Provider (step 217). Thus NetworkOperator 101 is not only given an opportunity to insure that onlyauthorized Content Providers 105 utilize and potentially profit from itsnetwork, but it is also given an opportunity to substitute authorizedContent Providers for unauthorized Content Providers.

In an alternate embodiment, each trigger associated with enhancedprogramming is subjected to an authorization check prior to anyassociated enhanced programming being supplied to the user (step 219).Preferably the ATV software resident in Receivers 103 performs theauthorization check, preventing delivery of non-authorizedcontent-synchronous data or on-demand data from being delivered to theuser (step 221). ATV Controller 109 can also substitute enhancedprogramming from a similar, but authorized Content Provider 105. As aresult of the described approach, the user is not even aware of enhancedprogramming that is available from non-authorized Content Providers.

An example illustrating the differences between the authorizationschemes described above is as follows. During a specific music video, anunauthorized Content Provider “X” may wish to include a graphic thatstates “You can buy the album you're listening to now at a reduced priceby pressing the ‘Order Now’ button on your screen.” Depending upon thespecifics of the user's Receiver 103, the user can “press” the displayed“Order Now” button by pressing a button on a remote or receiver;highlighting the “Order Now” button with the remote or receiver and thenpressing an enter key; using a touch-sensitive screen; or by other wellknown means. In the first embodiment described above, if the userpresses the “Order Now” button, the user will not be able to place anorder with the designated Content Provider 105. In order to maintainuser satisfaction, ATV Controller 109 can respond to the user's requestby displaying a message such as “Unable to complete transaction becauseContent Provider X is not registered with your Network Operator.”Alternately, ATV Controller 109 can connect the user with an alternate,and authorized, Content Provider 105 that offers the same or similarproduct/service. In the second embodiment described above, the userwould not have received the graphic from the unauthorized ContentProvider, and would therefore be unaware of the lost purchasingopportunity. As noted, ATV Controller 109 can also substituteprogramming from a similar, but authorized Content Provider.

The “other pertinent information” in the ATV address noted above caninclude information on the specification and capabilities of Receiver103. Therefore this information can be used to insure that the format ofthe enhanced programming is suitable for the specific Receiver (e.g.,set-top box attached to a television, a PDA with a touch-screen, etc.).Alternately, the “other pertinent information” in the ATV address canprovide specific user information (e.g., a user profile) that allows ATVController 109 to tailor the enhanced programming. For example, the“other pertinent information” may include the user's geographiclocation. Using this information, ATV Controller 109 can insure that theinformation provided to the user is for a “local” distributor of theContent Provider. Alternately, if ATV Controller 109 provides servicesto multiple geographic regions as well as a variety of different NetworkOperators 101, the “other pertinent information” in the ATV address canprovide the information necessary to insure that the ATV Controllerprovides the appropriate information for a given network, region, levelof service, etc.

After ATV Controller 109 receives a request from a Receiver 103, itappends various ATV parameters to the relayed request (e.g.,http://www.xyz.com/ad.tvhtml? “accelerate parameters”) (step 223). The“accelerate parameters” can include specifications of Network Operator101 and/or Receiver 103, user profile information, business and/ortechnical rules (e.g., the required look and feel of the ContentProvider's display), etc. ATV Controller 109 then relays the request foradditional information or other interaction from Receiver 103 to thedesignated Content Provider 105 (step 225), assuming that if anauthorization check was undertaken, the results were positive.

Content Provider 105 receives the information from ATV Controller 109,including the appended ATV parameters (step 227). Content Provider 105appends ATV markers to the requested information (step 229) and sendsthe information to Receiver 103 (step 231). ATV Controller 109 detectsthe triggers or markers inserted within the returned information whichpertain to the specifics of the interaction (e.g., code for a purchaseditem) (step 233), thus allowing the Controller to monitor thetransaction. ATV Controller 109 stores, depending upon the requirementsof Network Operator 101, some or all of the monitored transactioninformation (step 235). For example, in the preferred embodiment, ATVController 109 is used to monitor financial transactions occurringbetween Receivers 103 and Content Providers 105. Accordingly, data onuser purchases or other financial transactions are directed into ATVmemory 111. Alternately, this information can be directed into a memoryresident within the Network Operator system (e.g., memory 113).

The end user, via Receiver 103, is presented with the requested enhancedcontent programming (i.e., the requested information) from ContentProvider 105 (step 237). Typically at this stage the user decideswhether or not to proceed with the interaction (step 239). If the userelects to terminate the interaction, they preferably return to standardprogramming (step 241). Alternately, the user can elect to proceed withthe interaction, for example by selecting to purchase the product orservice presented by Content Provider 105 (step 243). It is understoodthat at this juncture, depending upon the type of interaction betweenthe user and the Content Provider, other options may be available. Forexample, the user may request additional information (e.g., productspecifications, available colors, models, etc.) on a displayed productat this time (step 245), resulting in a new request for informationbeing sent to the Content Provider (step 246). Examples of other reasonsfor additional user requests include polling interactions, refining theinitial user request, etc. When the user requests additionalinformation, ATV Controller 109 continues to monitor the transactionand, to at least a limited extent, continues to direct the flow ofinformation to and from the Receiver 103 and the designated ContentProvider 105. During these subsequent interactions, it is typically nolonger necessary to confirm that the designated Content Provider 105 isan authorized Content Provider.

In the preferred embodiment, when the user elects to purchase a productor service, i.e., step 243, their purchase is entered into a “ShoppingCart” which is under the control of ATV Controller 109 (step 247). Atthis time the user is not required to finalize their purchase. Rather,the user is only required to initialize the purchase or othertransaction. Since the user is not required to complete the transactionimmediately, spontaneous purchases are encouraged.

As ATV Controller 109 tracks each transaction (e.g., each initializedpurchase), in the preferred embodiment after the user has initialized apurchase, thus causing the purchase to enter into the Shopping Cart, ATVController 109 requests additional information from the designatedContent Provider 105 (step 249). This information may include the stockkeeping unit or SKU, additional product descriptions and specifications,pictures, videos, stock information, tax and delivery information, etc.Preferably ATV Controller 109 requests this information immediately uponentry of a purchase into the user's Shopping Cart, thus insuring thatthe information is immediately accessible by the user. Once ATVController 109 has obtained the additional information from thedesignated Content Provider 105, the information is stored for laterretrieval (step 251) either in ATV memory 111 or Network Operator memory113. In an alternate embodiment, the system is configured to obtain thisinformation (i.e., step 249) during a period of low system usage (e.g.,between 3 and 4 a.m. each day). In this configuration, if the userenters into the Shopping Cart and requests the additional informationprior to the system entering into this low usage period, the ATVController 109 immediately requests the additional information from theContent Provider.

In at least one embodiment of the invention, ATV Controller 109periodically requests updated information from each designated ContentProvider 105 (step 253). An example of information that is periodicallyupdated is status information (e.g., back-order dates, expected shippingdates, updated delivery schedules, etc.). ATV Controller 109 updates theinformation maintained in storage so that the user can obtain the latestinformation whenever desired.

2. Shopping Cart

FIG. 3 illustrates the method of interacting with the ATV Shopping Cart.As previously described, when a user elects to purchase a product orservice (step 243), their purchase is entered into a Shopping Cartparticular to that user (step 245). As ATV Controller 109 monitors alltransactions that take place between the user and any Content Provider105, the Shopping Cart preferably is configured to provide the user withinformation about all purchases or other financial transactionsparticular to that specific user for a given period of time. Trackedinformation can include the total number of transactions, total runningprice, purchases to date, etc.

At some point in time, the user elects to view the Shopping Cart (step301). The user may make this election at the time that a purchase orother financial transaction is initialized, or at a subsequent time(e.g., at the end of a conventional program, at the end of the day,etc.). Once elected, ATV Controller 109 presents the Shopping Cart tothe user via the user's Receiver 103 (step 303). The look of theShopping Cart depends upon the system configuration which is primarilydriven by the requirements of the Network Operator 101 and thelimitations/capabilities of Receivers 103. Typically the Shopping Cartwill be comprised of multiple data screens designed to relay therequired information in an easily navigable format. Although theShopping Cart screen or screens can replace the standard programmingscreen, in the preferred embodiment whenever the Shopping Cart option isactivated, some or all of the standard programming is still available ona portion of the user's screen (e.g., TV screen if Receiver 103 iscoupled to a TV, display screen if Receiver 103 is coupled to a PDA,etc.). The Shopping Cart information is presented on the remainingportion of the user's screen. Alternately, the Shopping Cart informationcan be presented in a semi-transparent overlay, thus allowing the userto view the underlying programming while still interacting with theShopping Cart.

As previously described, ATV Controller 109 maintains a data basecontaining pertinent information on each item or transaction within theShopping Cart. The user may elect to view the additional information forany particular product or transaction (step 305), preferably byhighlighting the product or transaction within the Shopping Cart andindicating that they want additional information (for example, by“pressing” an “additional info.” button within a Shopping Cart menu).ATV Controller 109 then supplies the user with the requested additionalinformation (step 307). In some instances, for example in order toprovide the user with the latest delivery schedule, ATV Controller 109will have to contact the designated Content Provider 105 and request anupdate to the information in question. In addition to receivingsupplemental product/service information via the Shopping Cart screens,preferably the user can update user profiles, alter the transaction(e.g., changing quantities), supply authorization codes if required,etc.

In the preferred embodiment, the initial Shopping Cart screen shows moreinformation than simply the identity of the goods or services that havebeen ordered. Preferably the initial Shopping Cart screen also indicatesthe purchase price, whether the purchase has been finalized, and generalstatus information (e.g., back-order dates, expected shipping dates,updated delivery schedules, etc.).

In the preferred embodiment of the invention, when a user wishes tofinalize a purchase, i.e., “checkout”, they “push” an appropriate buttonon the Shopping Cart, thereby notifying ATV Controller 109 of theirdesire (step 309). The user can checkout with or without requestingadditional information about the goods or services in question.Additionally, the user can select either to finalize all pendingtransactions or some subset thereof contained within the Shopping Cart(step 311). As ATV Controller 109 continually tracks all of theinteractions that occur between a specific Receiver 103 and each ContentProvider 105, the user is able to checkout at any time.

When the user indicates that they wish to checkout, they are presentedwith one or more checkout screens (step 313). Assuming that ATVController 109 contains information on the geographic location of theuser, the specifications of the particular Receiver 103, thespecifications of Network Operator 101, etc., ATV Controller 109 formatsthe checkout screen(s) to match the requirements of the Network Operatorand the Receiver.

In at least one embodiment of the invention, the checkout process iscompletely under the control of ATV Controller 109. In this embodimentthe user interacts with ATV Controller 109, through Receiver 103 andNetwork Operator 101, to provide whatever additional information may berequired to complete the checkout process (e.g., purchase quantities,model numbers, color, mode of delivery, etc.) (step 315). As required,ATV Controller 109 interacts with the designated Content Providers 105(step 317), for example to place the order, update delivery dates, etc.In this embodiment ATV Controller 109 acts as a conduit between the enduser and the Content Provider, for example by providing billinginformation from the user (or from the user's profile) to the ContentProvider and providing delivery and status information from the ContentProvider to the end user.

In an alternate embodiment, the system is configured to allow some orall of the control of the checkout process to be under the control ofNetwork Operator 101, as required by the Network Operator. In thisembodiment ATV Controller 109 monitors the data stream for triggers ormarkers and acts as a conduit between the end user and Network Operator101, forwarding information requests as well as request responses.Network Operator 101 controls the transaction, providing billing,shipping, and other information to the Content Provider and delivery,status, and other information to the end user via Receiver 103.

In yet another alternate embodiment, Network Operator 101 (oralternately, ATV Controller 109) acts as a “bank” for the user'stransactions. In this embodiment when the user, via a Receiver 103,makes a purchase, funds for the purchase are transferred to thedesignated Content Provider 105 directly from the Network Operator 101(or alternately, ATV Controller 109). The user's account with theNetwork Operator is then charged for the transaction. In addition,typically the user's account is charged a surcharge for the service,either a flat rate or a percentage of the transaction cost. Preferablyin this embodiment rather than simply charging the user's account, thusrisking user delayed payment or non-payment, the user's profile containsthe information required to allow immediate billing of the user's creditcard.

3. Transaction Tracking

A benefit of ATV Controller 109 monitoring all transactions between aReceiver 103 and the various Content Providers 105 is that NetworkOperator 101 can use the information to control the quality of itsContent Providers. As a result, user satisfaction for the servicesprovided by the Network Operator is improved. Thus, for example, ifNetwork Operator 101 becomes aware that a specific Content Provider isroutinely delaying delivery of purchased goods or services or otherwisedissatisfying users, the Network Operator can use its clout (e.g., thethreat of eliminating the Content Provider's authorization to provideenhanced content programming on the Operator's network) to rehabilitatethe Content Provider.

Network Operator 101 can use the information obtained by ATV Controller109 pertaining to user transactions in a variety of ways. For example,Network Operator 101 can charge each Content Provider 105 a fee based onthe total number of transactions (e.g., purchases) that take place overits network for a given period of time. Alternately, Network Operator101 can base this fee on the transactional costs, the profits realizedby the Content provider, or by other means. Alternately, NetworkOperator 101 can charge the users a fee based on the total number oftransactions, financial or otherwise, between the user and any ContentProvider. Alternately, Network Operator 101 can charge the users a feebased on the total purchase costs for all financial transactionsoccurring over its network between the user and all Content Providers.It is understood that these are but a few of the business models thatNetwork Operator 101 can employ to obtain revenues based on themonitored transactions.

The transaction data obtained by ATV Controller 109 and preferablypresented via the Shopping Cart allows users to not only trackindividual purchases/transactions, but also to trackpurchases/transactions by individual Content Provider 105, type of goodor service, period of time, etc. Thus the user is able to obtainvaluable information about their own buying patterns, thereby allowingthem to maintain financial budgets, etc.

4. User Profiles

Although the primary function of ATV Controller 109 is to monitorinteractions, financial or otherwise, between each Receiver 103 and eachContent Provider 105, it can also be used to simplify the purchase ofgoods and services. In the preferred embodiment, ATV Controller 109maintains pertinent purchasing information for each user, either storingthis information in ATV memory 111 or memory 113 coupled to NetworkOperator 101. This information can be cataloged either by Receiver or byindividual user, thus allowing each user within a “family” of users, allof which connect to the system via a single Receiver 103, to maintain anindividual profile.

In the preferred embodiment, the minimum profile for each Receiver 103and/or user includes both shipping information (e.g., shipping address,preferred carriers, etc.) and billing information (e.g., credit cardinformation, billing address, etc.). Additional information such aspreferred airlines, frequent flyer numbers, car rental preferences andparticipant I.D. numbers, hotel preferences and participant I.D.numbers, etc. can also be included in the profiles.

In addition to simplifying the checkout process, the user profile canalso be used to enforce budgets, control the hours in which enhancedprogramming is accessible, enforce parental controls, etc. For example,during a music video a trigger can be sent from an authorized ContentProvider 105 in a content-synchronous data stream, the trigger causingan icon to be generated on the user's screen indicating that for alimited time the user can purchase a CD by the same musician for areduced price. The user can indicate their desire to purchase theoffered CD and immediately return to the music video, ATV Controller 109tracking their request to purchase the CD and matching this request withthe appropriate trigger. At some later time (e.g., after the video ends;prior to changing channels; prior to turning off the system; at the endof the day, week, or month; etc.) the user can enter the Shopping Cartand decide whether or not to complete the transaction. Preferably ATVController 109 has already obtained additional information about theproduct from the designated Content Provider 105, for example, the CDrunning time, shipping costs, the rating of the CD (e.g., excessiveprofanity), etc. Within the user's profile the user can includeinformation pertaining to any or all of this information, for examplethe ratings. Then, on the basis of the rating (or other characteristic)and the user's previously entered profile, ATV Controller 109 can allowthe transaction to move forward, void the transaction, or requestadditional information. The requested additional information can includeauthorization to continue, for example by including a password or PINnumber in the transaction request. By controlling the password, PINnumber, or other authorization code a parent, guardian, or otherauthority can control the transactions, including purchases, permittedon a specific Receiver 103. Similarly, a password, PIN number, or otherauthorization code can be used to control all transactions or anypredefined subset of transactions, thus allowing the user to enforcerules associated with their Receiver 103 (e.g., budgets, ratings, etc.).

V. System Utilizing ATV Software Resident Within Receivers

FIG. 4 is a schematic illustration of a system according to theinvention in which a portion 401 of the ATV software is resident withineach receiver 103. Except as noted below, this system operates in asimilar manner to that described in Section IV above. FIGS. 5A-Billustrate the method associated with this embodiment.

Initially Receivers 103 receive standard programming as well as enhancedcontent programming provided by various Content Providers 105 (step501). The enhanced content programming can be content-synchronousprogramming or on-demand programming. When the user, via Receiver 103,initiates an interaction with a designated Content Provider 105 (e.g.,request for additional information, request to purchase a product orservice, request for on-demand programming, etc.) (step 503), preferablyresident ATV software 401 first determines whether or not the designatedContent Provider 105 has previously agreed to abide by the terms,conditions, and other requirements set by ATV Controller 109 and NetworkOperator 101 (step 505). This determination can be made by comparing thedesignated Content Provider 105 to a list of authorized ContentProviders 105, recognizing an ATV marker inserted by the ContentProvider into the enhanced content data stream, or by other means.Alternately, each transaction-initiating request can be treated in thesame way (i.e., step 506), thus by-passing Content Providerauthorization verification step 505.

If ATV software 401 verifies that the designated Content Provider 105 isan authorized Content Provider, then ATV software 401 forwards theuser's request to the designated Content Provider (step 507). If thedesignated Content Provider 105 is not an authorized Content Provider(step 509), or if the Content Provider authorization verification stepis skipped (step 506), resident ATV software 401 strips some or all ofthe information from the user's request (step 511). Sufficientinformation must be stripped from the user's request to preventdesignated Content Provider 105 from fulfilling the user's requestwithout the aid of ATV Controller 109 and/or ATV resident software 401.Preferably the identity of the requesting Receiver is stripped whilepassing the particulars of the user's request.

In addition to simply stripping out information from the user's request,ATV resident software 401 inserts an ATV parameter list (step 513) tothe user's request. The ATV parameter list includes ATV addressinformation as well as particular requirements of the system (e.g.,business rules required by Network Operator 101, specification andconfiguration information about the requesting Receiver 103, etc.). Oncemodified, the user request is sent to the designated Content Provider105 (step 515).

If designated Content Provider 105 decides not to abide by therequirements set by the ATV Controller 109 via resident ATV software 401(step 517), the interaction between the designated Content Provider 105and the requesting Receiver 103 is not allowed to proceed by residentATV software 401 (step 519). ATV software 401 prevents this interactionby (i) not providing the designated Content Provider 105 with theidentity of the requesting Receiver 103; (ii) providing insufficientrequest information to the designated Content Provider 105; or (iii)intercepting information from the designated Content Provider 105 beforeit passes to requesting Receiver 103. At this stage the interaction isterminated (step 521). Preferably once the original interaction isterminated, the user's initial request is forwarded to another ContentProvider 105 authorized to offer similar goods or services (step 523).In this scenario ATV software 401 contacts ATV Controller 109 with theuser's request. ATV Controller 109 then forwards the request to asuitable substitute Content Provider 105.

If the designated Content Provider 105 agrees to the terms and/orrequirements set by ATV Controller 109 via ATV software 401 (step 525),the Content Provider 105 may be required to request additionalinformation from ATV Controller 109 (step 527) prior to proceeding withthe user interaction, assuming that the required information is notincluded in the ATV software's initial attachment to the user's request.Such additional information may be required ATV protocols, formalagreement to ATV Controller 109 and Network Operator 101 terms andconditions, etc.

After the protocols and ATV Controller requirements have been agreedupon by the designated Content Provider 105, the designated ContentProvider 105 responds to the initial user request, providing therequested enhanced programming (step 529) to the requesting Receiver103. As required by ATV Controller 109 and/or ATV software 401, ContentProvider 105 appends ATV markers to the supplied enhanced programming.ATV software 401 detects the triggers or markers inserted within thereturned information which pertain to the specifics of the interaction(e.g., code for a purchased item) (step 531), thus allowing thetransaction to be monitored. Depending upon the requirements of NetworkOperator 101, at this point some, all, or none of the monitoredtransaction information is stored (step 533). For example, data on userpurchases or other financial transactions are preferably stored inmemory. This information can be stored in memory 403 within Receivers103, directed into ATV Controller memory 111, or directed into NetworkOperator memory 113.

The end user, via Receiver 103, is presented with the requested enhancedcontent programming (i.e., the requested information) from ContentProvider 105 (step 535). Typically at this stage the user decideswhether or not to proceed with the interaction (step 537). If the userelects to terminate the interaction, they preferably return to standardprogramming (step 539). Alternately, the user can elect to proceed withthe interaction, for example by selecting to purchase the product orservice presented by Content Provider 105 (step 541). It is understoodthat at this juncture, depending upon the type of interaction betweenthe user and the Content Provider, other options may be available. Forexample, the user may request additional information (e.g., productspecifications, available colors, models, etc.) on a displayed productat this time (step 543), resulting in a new request for informationbeing sent to the Content Provider (step 544). Examples of other reasonsfor additional user requests include polling interactions, refining theinitial user request, etc. When the user requests additionalinformation, ATV software 401 continues to monitor the transaction and,to at least a limited extent, continues to direct the flow ofinformation to and from the Receiver 103 and the designated ContentProvider 105.

In the preferred embodiment, when the user elects to purchase a productor service, i.e., step 541, ATV software 401 directs ATV Controller 109(step 545) to enter the purchase data into the ATV Shopping Cart (step547). As in the prior embodiment, ATV Controller tracks thetransactions, requesting additional information from the ContentProvider as required (step 549), and storing that information for laterretrieval (step 551). Preferably the ATV Shopping Cart performs in asimilar manner to that described with reference to the prior embodiment.

VI. System Utilizing Data Filtering

FIG. 6 illustrates an alternate embodiment of the invention. Except asnoted below, this embodiment operates in a similar manner to thatdescribed in Section IV above.

Initially Content Providers 105 broadcast enhanced content programmingto users via Receivers 103 (step 201) using a variety of techniqueseither previously described or well known by those of skill in the art.Although not preferred, at this stage either ATV Controller 109 or ATVsoftware 401 can perform an authorization check (step 219) to insurethat only authorized enhanced content programming is made available tothe user. Preferably Content Provider authentication is not performeduntil after the user has indicated a desire to interact with a specificContent Provider.

When the user, through the use of Receiver 103, interacts with specificenhanced content programming (step 203), a request is sent to thedesignated Content Provider 105 (step 601). After receiving this request(step 603), the designated Content Provider can either choose to appendATV markers to the requested information (step 605) or not (step 607).The Content Provider can obtain instructions for the ATV markers throughan open Application Program Interface or API, through directcommunication with either the ATV Controller administrator or theNetwork Operator, or through other means.

The designated Content Provider 105 then sends the requested informationback to the user, either with the appended ATV markers (step 609) orwithout the appended ATV markers (step 611). ATV software, eitherresident within Receiver 103 (e.g., ATV software 401) or within ATVController 109, reviews the enhanced content programming (step 613). Ifthe enhanced content programming contains the necessary ATV markers(step 615), the requested information is forwarded to the user (step617). From this point on, the method is the same as previously describedwith reference to FIGS. 2A-B (i.e., steps 239-253).

If the required ATV markers are not included in the programming (step619), the requested information is not forwarded to the user (step 621).At this juncture there are several options that can either be usedsingularly, or in combination with each other. The simplest option is toterminate the transaction at this time (step 623). Given that thedesignated Content Provider may be unaware that they must append certainATV markers in order to interact with the requesting user, preferably amessage is sent to the designated Content Provider 105 (step 625),explaining that their information has not been forwarded to therequesting party because they have not complied with the requirementsset forth by the Network Operator 101 and the ATV Controller 109. Thismessage also preferably includes directions as to how to obtain therequired instructions (e.g., through an open API). Thus in this scenariothe designated Content Provider 105 is given an opportunity to resendthe requested information with the required ATV markers. If thedesignated Content Provider 105 still refuses to follow the ATVprotocol, a message is preferably sent to the user informing them thatthe designated Content Provider 105 is unauthorized and therefore therequested information will not be provided (step 625). Alternately, thismessage can immediately be sent to the user, thus not providing theContent Provider with a chance for rehabilitation. Lastly, if theContent Provider is unwilling to include the necessary ATV markers, theuser request can be forwarded to a substitute Content Provider offeringa similar good or service (step 629).

VII. API Information

In order to improve implementation of the above-described embodiments,preferably Content Providers 105 are given access to an API. The APIprovides the necessary framework to allow a Content Provider to properlyinterface with ATV Controller 109 and/or ATV software 401.

In one embodiment of the invention such as that illustrated in FIGS.1-3, any Content Provider 105 that wishes to provide enhanced contentprogramming to a Receiver 103 coupled to a Network utilizing an ATVController 109 obtains the ATV API. The API may be provided uponexecution of a suitable agreement between the Content Provider 105 andthe Network Operator 101 and/or ATV Controller 109. Alternately the ATVAPI may be readily available, for example via an Internet Web site.

After obtaining the ATV API, the Content Provider 105 responds to anyrequests for enhanced content programming by following the ATV APIrequirements, including providing any required ATV routing directions aswell as any required transaction information (e.g., SKU numbers,delivery information, etc.). ATV Controller 109 fills-in any additionalinformation that the API requires pertaining to the specifics ofReceivers 103 and Network Operator 101.

In an alternate embodiment of the invention such as that illustrated inFIGS. 4 and 5, when a user first initiates a request for enhancedcontent programming, ATV software 401 strips the request of certaininformation and appends a parameter to the request alerting ContentProvider 105 to use the ATV API format for their transactions. Thisrequest is then forwarded to the designated Content Provider. Assumingthat the designated Content Provider affirmatively responds to therequest, the Content Provider provides transaction information (e.g.,SKU numbers), routing information, and any other pertinent informationthat is necessary to complete the requested transaction. As the APIincludes routing information, the response by the Content Provider isrouted to ATV software 401 resident within the initiating user'sReceiver 103. ATV software 401 then fills-in any final informationneeded by the API such as specifics of the initiating user's Receiver103, information regarding the user's geographical region, businessrules required by Network Operator 101, etc.

In at least one embodiment, the ATV API requires Content Providers 105include a marker (e.g., meta-tag, comment line tag, etc.) in any and allinformation sent to a Receiver 103. This embodiment is particularly wellsuited for information that is HTML-, XML-, or other code-based. The ATVAPI detects the type of markers and how they are to be used. Forexample, the markers can be used to represent the type of transaction(e.g., information only versus financial), the location of deliveryinformation, the location of product specifications, the location of theContent Provider (e.g., for calculating taxes and delivery costs), etc.Upon receipt of the enhanced content programming, ATV software 401 orATV Controller 109 parses the programming on the basis of the markers.If necessary, and as previously discussed, ATV software 401 or ATVController 109 can add information to the enhanced content programmingsuch as business rules, geographic regions, etc.

VIII. Additional Embodiments

As described above and shown in FIGS. 1-6, the preferred embodiment ofthe invention provides a method and system for enforcing the businessrules of a Network Operator, monitoring the interactions between usersand those Content Providers utilizing the Network Operator's system, andallowing a user to initiate a transaction at one point in time andconfigure and finalize the transaction at a much later point in time,thus promoting impulse transactions. These same systems can also be usedto implement other desirable features, either in conjunction with thepreferred embodiment or as an alternative to the preferred embodiment.

1. Profiling

As previously described, user profiles are preferably used in order tosimplify the checkout process as well as to enforce budgets or othercontrols. Additionally, profiles can be used to provide improved serviceto both the users and the Content Providers.

For example, as illustrated in FIG. 7, each time a user via a particularReceiver 103 interacts with a Content Provider 105 (step 701), ATVController 109 monitors (step 703) and stores (step 705) informationabout the transaction. The information to be stored is typically basedon criteria set by ATV Controller 109, by Network Operator 101, by theuser, or by some combination thereof. Criteria can include, for example,the category of purchased good or service (e.g., home electronics,furniture, clothing, jewelry, CDs, videos, health related items, foodrelated items, etc.), the number of items purchased, the per item cost,the total cost per purchase, etc. Additionally, the user profile can bebased on all transactions, including those that are initiated but neverfinalized, or only on those transactions that conclude with a purchaseby the user. Lastly, the user profile can be based, in whole or in part,on profile information submitted by the user (e.g., user interests, userincome, etc.).

In the preferred embodiment, the user profile is automatically andcontinuously updated, thus allowing the user profile to be continuouslyrefined as the system gathers more information. After a preset number oftransactions have occurred, ATV Controller 109 develops a user profile(step 707). Although a user profile can be developed based on a singletransaction, preferably more than a single transaction is required todevelop the user profile (e.g., 5, 10, 25, 50, or more transactions).

Once developed, the user profile can be used in numerous ways, dependingupon the requirements set by the Network Operator and the ATVController. In one embodiment, ATV Controller 109 presents the user withsuggested Content Providers 105 based on the user's profile (step 709).Thus if a user is watching a music video and the user's profileindicates that they have repeatedly purchased CDs on-line in the past,ATV Controller 109 can suggest several Content Providers to the user,each of which provides on-line CD purchasing opportunities. Alternately,ATV Controller 109 can suggest on-demand programming for a music concertor other music related programming. Alternately, once a Content Providerinitiates a transaction with a user (e.g., offering a product for sale),ATV Controller 109 can present the user with alternate Content Providers105 based on the user's profile. As a consequence of this approach, theuser is provided with expanded purchasing opportunities and the abilityto comparison shop.

In an alternate embodiment, ATV Controller 109 presents the user withContent Providers 105 and/or information from a specific ContentProvider 105 that is specifically targeted to the user's profile (step711). For example, a specific Content Provider may be offering a foodsupplement. If a user's profile indicates that the user is interested insports, the information provided by the Content Provider may stress howthe food supplement can improve a person's reflexes and strength.Alternately if the user's profile indicates an interest in weightcontrol diets and programs, the information provided by the same ContentProvider may stress how the food supplement can be used to augment aweight loss program.

In an alternate embodiment, the developed user profiles are used forcross-selling purposes. Accordingly, in this embodiment ATV Controller109 couples a specific user, based on that user's profile, with variousContent Providers 105 (step 713) that provide a good or service that isrelated to one or more criteria in the user's profile but which may ormay not specifically match the criteria. For example, the user's profilemay indicate that the user often purchases CDs while watching musicvideos. Based on this information, ATV Controller 109 may suggest aContent Provider that sells T-shirts with the names, pictures, etc. ofvarious musical artists, rock groups, etc. Consequently, the user ispresented with a purchasing opportunity that would not have beenotherwise presented. Additionally, the suggested Content Provider isprovided with a selling opportunity that it might not have had otherwiseand which is more likely to conclude with a successful sale given theuser's demonstrated interest in related goods.

2. Branding

The present invention provides numerous opportunities for branding,i.e., placing a specific brand, trademark, logo, product or servicename, etc. within view of the potential user or purchaser of the good orservice. Although branding provides many benefits to the brand's owner,its primary benefit is the development of name recognition, potentiallyleading to increased sales. For example, when a consumer goes to a storewith the intent of buying an appliance and finds similar appliances bythree different manufacturers, the consumer is more likely to purchasethe recognized brand.

One technique of branding that can be implemented with the presentinvention is through the use of the Shopping Cart. As previouslydescribed, the Shopping Cart can replace the standard programmingscreen, utilize only a portion of the standard programming screen, orutilize a semi-transparent overlay. Regardless of the technique used toprovide the Shopping Cart, ATV Controller 109 can dedicate a portion ofthe Shopping Cart screens to branding. For example, ATV Controller 109can locate a banner above or below the main Shopping Cart screen whichconveys brand information, the brand information being either static ordynamic in nature. Besides brand information, linking information tospecific Content Providers that offer the branded goods or services canalso be provided (e.g., CD branding plus linking information for ContentProviders through which the user can purchase the CD). Additionally, theContent Providers themselves may utilize branding to improve their ownname recognition.

In at least one embodiment of the invention, the branding service iscoupled to the previously described user's profile. Thus, for example,the brands displayed via a specific Receiver 103 are selected by ATVController 109 for that specific Receiver based on the profile of theuser. For instance, if the user's profile indicates that the userwatches music videos and purchases CDs on-line, the selected brands canrelate to specific musicians, newly released CDs, Content Providersthrough which the user can purchase CDs, etc. Alternately, if the user'sprofile indicates that the user primarily watches sports and oftenpurchases on-demand sports broadcasts, ATV Controller 109 can providebanners relating to on-line sports ticket brokers, sports memorabiliafor sale, future on-demand sports broadcasts, etc.

In addition to providing branding benefits to Content Providers andprofile related linking benefits to users, the use of branding in thepresent invention provides a valuable revenue generating resource toNetwork Operator 101. As opposed to only obtaining revenues from thesale of network services to users and/or the sale of the authorizationto provide enhanced content programming via its network to ContentProviders, the present invention allows revenues to be generated basedon branding.

3. Picture-in-Picture Viewing

Picture-in-picture (PIP) televisions are currently available whichprovide the user with the opportunity to simultaneously view two (ormore) independent screens. They utilize either multiple on-board tuners,or a single on-board tuner with the capability of coupling additionaltuners to the system. Alternately, a television or monitor can becoupled to an external receiver (e.g., set-top box, satellite receiver,etc.) in order to provide the user with PIP capabilities. The benefit ofa PIP system is that it allows the user to monitor multiple eventssimultaneously (e.g., a baseball game and a football game).

In accordance with at least one embodiment of the invention, the PIPfeature is used to provide the user with standard programming in onescreen (e.g., the principal screen) and enhanced content programming ina second screen (e.g., the PIP). For example, a user could watch abaseball game being broadcast via standard programming along with anon-demand boxing match delivered via enhanced content programming.

Preferably, the enhanced content programming is related by subjectmatter to the standard programming and is provided automatically by ATVController 109. For example, while watching a cooking show, ATVController 109 can couple Content Providers to the PIP which offercooking supplies. Alternately, as opposed to relating the enhancedcontent programming to the standard programming under view, ATVController 109 can provide enhanced content programming whichcorresponds to the user's profile. Thus in the above example, if theuser's profile indicates that the user frequently purchases jewelryon-line, even when the user is viewing the cooking show, they are stillreceiving enhanced content programming relating to jewelry (e.g.,Content Providers 105 that offer jewelry on-line).

It is understood that the enhanced content programming supplied to theuser may be comprised of a variety of information types. For example, ifATV Controller 109 is configured to provide enhanced content programmingthat relates to the user's profile, and a particular user's profileindicates an interest in nature related activities and goods, theenhanced content programming may include nature movies/documentaries,home shopping opportunities for camping/hiking gear, and relatedshopping opportunities (e.g., gardening supplies).

4. Trigger Filtering

As previously described, triggers and other types of markers routinelyaccompany enhanced content programming and other types of data streams.These triggers can be used to provide a resource locator, an indicatorof resource availability, a resource content identifier, a ContentProvider indicator, etc. In the preferred embodiment of the invention,triggers are used to monitor enhanced content programming, thusproviding a means for the Network Operator to monitor and controlinteractions between a Content Provider 105 and a Receiver 103. Thetriggers or markers can also be used in a variety of other ways, both inconjunction with, and separate from, the basic invention, as describedfurther below.

i) Source Control

In an embodiment illustrated in FIG. 8, each Receiver 103 receives astream of source information from a variety of sources including ContentProviders 105, on-demand programming, standard programming, etc. (step801). The source information can include, for example, special events(e.g., an on-demand presentation of a boxing match, etc.), news (e.g.,headline news, world news, local news, etc.), sports (e.g., games,scores, sports news, etc.), business (e.g., business news, stock quotes,etc.), movies, etc. Associated with each information source is a triggerthat identifies the type of information provided. Preferably there arealso triggers that identify subcategories for each type of information.For example, within sports there may be a trigger associated with eachtype of sport (e.g., baseball, football, etc.).

In this embodiment the triggers are used to filter from the stream ofsource information that material which is of particular interest to theuser, as determined by a set of explicit or implicit preferences (steps803 and 805). For example, the user's preference may be for sports.Additionally, the user may refine their preferences to football, andeven more specifically, to a particular football team. Based on thesepreferences or criteria, the system can be configured to operate in oneof several ways. First, any information that fits within any userspecified criteria can be provided to the user. This information can beprovided immediately upon receipt of a trigger associated with thedesired information (step 807). Alternately the user can be notifiedthat information matching their preset criteria is currently available(step 809), for example by presenting an icon in the corner of theuser's television screen, thus allowing the user to decide whether ornot they wish to view the information. Second, any information thatmatches all user defined criteria (i.e., in the above example,sports+football+particular team) can be provided to the user, eitherimmediately upon receipt or through the previously describednotification process. Third, the user can specify priorities associatedwith each preset criterion (steps 811 and 813). For example, the usercould specify that they wish to be notified if a football game isavailable, but their current programming should be interrupted with anynews involving their favorite team (e.g., game, scores, draft picks,etc.). Fourth, associated with each type of source information or eachtype of specifiable criterion is a particular on-screen graphic oraudible signal, thus allowing the user to distinguish between differenttypes of information (steps 815 and 817). The on-screen graphic oraudible signal can be preset or user defined. For example, if the user'sfiltering criteria is comprised of stock quotes, sports scores, and aparticular baseball team, suitable on-screen graphics include a dollarsign, a scoreboard, and the baseball team's logo, respectively.Accordingly, when a graphic appears on the user's television screen,they can decide if they wish to tune to the source informationassociated with the graphic.

In an alternate embodiment, the system controller based on the user'sprofile sets the user preferences or criteria. Preferably the user isgiven an opportunity to review and modify the system set criteria. Onceset, the criteria can be used in any of the ways described above.

ii) Audio Triggers

As previously described, triggers and other types of markers routinelyaccompany enhanced content programming and other types of data streams.These triggers may be transparent to the user, for example the triggermay simply provide a locator tag so that the data source can be locatedif selected. Alternately, the trigger may be used to provide anindication that a specific program, enhanced content, or otherinformation is available for viewing. In this instance, typically thetrigger causes an on-screen graphic to appear, thereby notifying theuser of the availability of the specific information. The ContentProvider, the broadcaster, or the Network Operator typically sets theon-screen graphic which may be comprised of a simple icon (e.g., an “i”in the corner of the screen), or something representative of the type ofavailable information (e.g., a “News 5” icon representing a newsbroadcast associated with a particular channel).

In an alternate embodiment, associated with each trigger or with certaintypes of triggers (e.g., program availability triggers) is an audiblesignal. The audible signal can be in addition to, or as a replacementfor, an on-screen graphic. The audible signal can be set to make asingle signal, for example when a specific enhanced content program isfirst available. Alternately, the audible signal can be set torepeatedly signal the arrival of the trigger, the frequency of thesignal being adjustable by the Network Operator, the user, or both. Thesignal can be set to repeat until either the information associated withthe trigger is no longer available or until the user disables theaudible signal.

Preferably the audible signal can be set, either by the Network Operatoror the user, such that it is only associated with a specific type oftrigger. For example, the audible signal may be set to only indicatetriggers associated with a specific Content Provider, a specific type ofprogramming, or with some other trigger parameter. Additionally multipleaudible signals can be used, each representing a different triggerparameter.

iii) Dynamic Replacement of Specific Content Utilizing Triggers

This embodiment of the invention provides Network Operator 101 withadditional revenue opportunities. Specifically, this embodiment allowsprogramming such as advertisements to be replaced with alternateprogramming, preferably at a rate which is beneficial to the NetworkOperator.

As previously noted, triggers and/or other types of markers can be usedto indicate a change of programming. For example, during a standardbroadcast program, the broadcaster typically periodically interrupts theprogram to allow the insertion of one or more advertisements. Althoughthese advertisements are a revenue source to the broadcaster, typicallythe Network Operator does not directly receive advertising revenues.

The method of this embodiment is illustrated in FIG. 9. As shown,initially the user receives standard programming via the system ofNetwork Operator 101 (step 901). This programming may be broadcastprogramming, pay-per-view programming, on-demand programming, or otherprogramming. Periodically a trigger or other marker is detected thatindicates the beginning of a program interruption (step 903), such asthat commonly used for one or more advertisements and broadcast stationinformation (e.g., station identification, station promotions, etc.).This program interruption may be detected directly by Network Operator101 or by ATV Controller 109. Once an interruption is detected, thesystem determines whether or not to replace the program interruptionprovided by the broadcast programmer with a different programinterruption (step 905), for example a program interruption (e.g.,advertisement) provided by a Content Provider 105 that has entered intoa financial arrangement with Network Operator 101.

If the originally arranged interruption is not replaced (step 907), thestandard programming continues until the next interruption is detected.If a replacement program is inserted at the detected interruption (step909), the system must then determine how long the inserted program(e.g., inserted advertisement) may run before returning to the originalbroadcast programming. This can be accomplished in several differentways. For example, the inserted program can be of a predefined duration(e.g., 15 seconds, 30 seconds, 45 seconds, etc.) with the expectationthat the originally planned programming interruption is of a similarduration (step 911). As a result of this approach, the user may view aportion of the original interruption or may miss a portion of thestandard programming. In the preferred approach, after the replacementprogramming has been inserted, either Network Operator 101 or ATVController 109 continues to monitor for additional triggers which signalthat the standard programming is about to resume (step 913). Once such atrigger has been detected (step 915), the system switches back tostandard programming. In order to achieve the desired timing, preferablythe last portion of the replacement programming may be suspended at anyof a variety of times. For example, the last 60 seconds of thereplacement programming can be comprised of a series of ten,independent, programming promotions, thus allowing the replacementprogramming to end at any of a number of times without alerting theviewer that they have been watching replacement programming.

In addition to the above configuration, this system can be used toaccomplish other Network Operator objectives. For instance, this systemcan be used to give a specific Content Provider the opportunity to focusthe information that they provide. Thus, for example, a nationallyrecognized Content Provider 105 may purchase a 30 second commercialbreak in a baseball game that will be broadcast in both northern andsouthern California. By utilizing triggers, Network Operator 101 canmonitor for this particular Content Provider's commercial. When theappropriate trigger is detected, a commercial focused on the northernCalifornia viewers can be broadcast in northern California while acommercial focused on the southern California viewers can be broadcastin southern California. This approach is particularly well suited forNetwork Operators that have a large network, such as that associatedwith satellite broadcasting.

iv) Trigger Bookmarks

A common problem associated with the use of content synchronous data,on-demand data, and other data streams provided to a user during thecourse of normal system usage (e.g., television, internet, etc.) is thatthe user is often required to interrupt their current use in order toreview the enhanced content programming. For example, a trigger can beused to provide an indicator to a television viewer that additionalinformation is available about the topic currently being presented. Theadditional information can be detailed specifications, costs,availability, background information, etc. Although the user may wish toview some or all of this additional information, they may be reluctantto do so if it requires them leaving the present programming.Unfortunately, such additional information is typically tied with theprogramming under view and therefore may be unavailable at a later timewhen viewing may be more convenient to the user.

One embodiment of the invention overcomes these problems by allowing theuser to “bookmark” the additional information for later viewing. Asshown in FIG. 10, initially the user is viewing some form of standardprogramming (step 1001). For example, the user may be viewing aconventionally broadcast program, an on-demand program, an informationprogram provided by a Content Provider 105, or some other form ofprogram. While the user is viewing the standard programming, NetworkOperator 101 or ATV Controller 109 monitors for triggers or othermarkers (step 1003). When the user is presented with the option ofobtaining additional information (step 1005), for example via agraphical identifier, audible identifier, or other means, the user canopt to receive no additional information (step 1007), immediatelyreceive additional information (step 1009), or simply bookmark theadditional information for later viewing (step 1011).

If the user bookmarks the additional information, ATV Controller 109enters the bookmark into an ATV Information Cart (step 1013). Dependingupon the system configuration, ATV Controller either places therequested information into memory (e.g., memory 111 or 113) for laterviewing (step 1015) or simply copies the required linking informationinto memory (step 1017). At a later time (e.g., during a later portionof the programming or at some time after completion of the programming)the requesting user enters the ATV Information Cart (step 1019).Depending upon the system configuration, the user either is presentedwith the stored information (step 1021) or automatically linked to thestored information (step 1023).

In an alternate embodiment illustrated in FIG. 11, although the userdoes not actively bookmark information for later viewing, they are ableto request this information at a later time. In this embodiment as inthe previously described embodiment, ATV Controller 109 continuouslymonitors for triggers (step 1003). Whenever a trigger is detected,suitable linking information is stored in memory (e.g., memory 111 or113) (step 1101). In order to limit the memory required, typicallylinking information is only stored for a limited time. At a later pointin time, the user is able to request this information by requesting alllinks associated with a specific program (step 1103), all links recordedfor a given time period (step 1105), all links recorded for the last ‘x’number of minutes (step 1107), the last ‘x’ number of stored links (step1109), or all recorded links for a given time period that meet certainfiltering criteria (e.g., channel, format, information type, etc.) (step1111).

v) Cross Channel Trigger Filtering

In a typical embodiment of the invention, ATV Controller 109 monitorstriggers that are located within data streams that accompany the channelbeing viewed. As previously described, these triggers can then be usedto monitor user/Content Provider transactions, provide novel brandingand cross-selling opportunities, allow information bookmarking, etc.Additionally, and in accordance with at least one embodiment of theinvention, the monitored triggers need not be associated with the datastreams that accompany the channel being viewed.

In at least one embodiment of the invention, as illustrated in FIG. 12,a trigger information filter is defined (step 1201), either explicitlyby the user or implicitly by the user's profile. Preferably theinformation filter is explicitly set, thus allowing the user to changethe filter frequently depending upon current needs. Once set, ATVController 109 monitors all possible sources, including both thoseassociated with the channel being viewed and those associated with otherchannels, for triggers meeting the criteria (step 1203). Once a triggermeeting the criteria is detected, the user is notified (step 1205),typically using a screen graphic or an audible signal. Alternately, thesystem can be configured to immediately present the user with anyinformation meeting the preset criteria (step 1207).

If the system is configured to merely notify the user of the arrival ofa trigger meeting the pre-defined criteria, the user may respond in oneof several manners. First, the user can simply ignore the informationand continue viewing the current programming (step 1209). Second, theuser may immediately request to be provided with the information (step1211). Third, the user may bookmark the information for later viewing(step 1213). Preferably if the user immediately views the information(either via step 1207 or step 1211), the requested information isprovided as a semi-transparent screen overlay or dominates only aportion of the screen.

The primary benefit of this embodiment is that it allows the user theability to monitor multiple data streams while primarily focussing on asingle data stream. For example, the user may be watching an on-demandmovie while trying to keep abreast of a breaking news story (e.g., aninternational crisis, a major sporting event, etc.). Utilizing thisembodiment of the invention, the user is able to enjoy the on-demandmovie, knowing that if any information becomes available on the desiredtopic, they will immediately be informed.

It is understood that the criteria for the filter (step 1203) may becomprised of a variety of different types of information. For example,in addition to simply defining the topic of interest (e.g., draftchoices for a local football team), the user may also wish to onlymonitor certain channels (e.g., a local channel, a headline newsservice, a sports broadcast service, etc.) and certain information types(e.g., news). The user may also wish to set the media type (e.g.,standard broadcast programming, Web based information, etc.).

As will be understood by those familiar with the art, the presentinvention may be embodied in other specific forms without departing fromthe spirit or essential characteristics thereof. Accordingly, thedisclosures and descriptions herein are intended to be illustrative, butnot limiting, of the scope of the invention which is set forth in thefollowing claims.

1. A method of enhancing network utilization for a user coupled to thenetwork via a receiver; wherein said network is operated by a networkoperator, wherein the network offers both standard video contentprogramming and enhanced video based content programming where suchenhanced video programming is user interactive, a plurality of contentproviders provide the enhanced video based content programming over thenetwork controlled by said network operator; and said network operatorcontrols communications between said plurality of users and contentproviders as to prevent the transmission of content from a contentprovider if such a content provider is non-authorized; the methodcomprising the steps of: monitoring each of a plurality of usertransactions between the receiver and the plurality of contentproviders, wherein said monitoring step is performed by said networkoperator; extracting transaction information from at least a portion ofsaid plurality of user transactions, wherein said extracting step isperformed by said network operator; storing said extracted transactioninformation in a data base controlled by said network operator; forminga user profile based on a combination of at least a portion of saidextracted transaction information; identifying particular enhanced videobased content programming based on said user profile; and interceptingthe enhanced video based content programming, said intercepting stepperformed by the network operator and determining whether the enhancedvideo based content programming includes markers inserted by the contentprovider; determining if the enhanced video based content programmingcomplies with a set of network operator rules by examining the markers;permitting the enhanced video based content programming to be receivedby the user receiver if the enhanced video based content programmingcomplies with said set of network operator rules; and preventing theenhanced video based content programming from being received by the userreceiver if the enhanced video based content programming does not complywith said set of network operator rules.
 2. The method of claim 1,wherein said portion of said plurality of user transactions from whichtransaction information is extracted are those user transactions thathave been finalized by the user.
 3. The method of claim 1, wherein saidextracted transaction information is based on criteria set by thenetwork operator.
 4. The method of claim 1, wherein said extractedtransaction information is based on criteria set by the user.
 5. Themethod of claim 1, wherein said extracted transaction information isbased on criteria set by a third party other than said network operator.6. The method of claim 1, wherein said extracted transaction informationincludes goods or services category information.
 7. The method of claim1, wherein said user profile is formed automatically if a pre-existinguser profile for a particular user was not present after two or moreuser transactions have been monitored.
 8. The method of claim 7, furthercomprising the step of periodically updating said user profile.
 9. Themethod of claim 7, further comprising the step of continuously updatedsaid user profile.
 10. The method of claim 1, wherein said providingstep is performed in response to the step of receiving a user requestfor said particular enhanced video based content programming.
 11. Themethod of claim 1, wherein said providing step is performed in responseto the steps of requesting specific enhanced video based contentprogramming, said requesting step performed by the user, wherein saidparticular enhanced video based content programming is substituted forsaid requested specific enhanced video based content programming inresponse to an instruction by said network operator.
 12. The method ofclaim 1, wherein said providing step is performed in response to thestep of requesting specific enhanced video based content programming,said requesting step performed by the user, wherein said particularenhanced video based content programming is provided in addition to saidrequested specific enhanced video based content programming in responseto instruction by said network operator.
 13. A method of enhancingnetwork utilization for a user coupled to the network via a receiver,wherein said network is operated by a network operator, said networkoffers both standard video content programming and enhanced video basedcontent programming where such enhanced video programming is userinteractive, and a plurality of content providers provide the enhancedprogramming over the network controlled by said network operator; andsaid network operator controls communications between said plurality ofusers and content providers as to prevent the transmission of contentfrom a content provider if such a content provider is non-authorized,the method comprising the steps of: monitoring each of a plurality ofuser transactions between the receiver and the plurality of contentproviders, wherein said monitoring step is performed by said networkoperator; extracting transaction information from at least a portion ofsaid plurality of user transactions, wherein said monitoring step isperformed by said network operator; storing said extracting transactioninformation in a data base controlled by said network operator; forminga user profile based on a combination of at least a portion of saidextracted transaction information; and tailoring at least a portion ofthe enhanced video based content programming based on said user profileintercepting the enhanced video based content programming, saidintercepting step performed by the network operator and determiningwhether the enhanced video based content programming includes markersinserted by the content provider; determining if the enhanced videobased content programming complies with a set of network operator rulesby examining the markers; permitting the enhanced video based contentprogramming to be received by the user receiver if the enhanced videobased content programming complies with said set of network operatorrules; and preventing the enhanced video based content programming frombeing received by the user receiver if the enhanced video based contentprogramming does not comply with said set of network operator rules. 14.The method of claim 13, further comprising the step of providing theuser with an option to view said tailored enhanced video based contentprogramming.
 15. The method of claim 14, further comprising the step ofproviding the user with said tailored enhanced video based contentprogramming, wherein said providing step is performed in response to thereceipt of a user request for said tailored enhanced contentprogramming.
 16. A network-based system for providing enhanced networkutilization, the system comprising: a network providing both standardvideo programming and enhanced video based content programming wheresuch enhanced video programming is user controlled, said network isoperated by a network operator; a plurality of content providersproviding said enhanced video content programming and the networkprevents the transmission of at least one of standard and enhanced videobased programming from an unauthorized content provider and thetransmission of said programming that has been prevented comes from anauthorized content provider from plurality of content providers inresponse to an instruction from said network; a receiver coupled to saidnetwork, said receiver capable of receiving said standard programmingand said enhanced video based content programming, said receiver capableof interacting with said plurality of content providers; and whereinsaid network operator comprising: means for monitoring informationflowing between said receiver and said plurality of content providers;means for extracting transaction information from said monitoredinformation; means for combining at least a portion of said extractedtransaction information to form a user profile; a data base for storingat least a portion of said extracted transaction information and forstoring said user profile; means for distinguishing enhanced video basedcontent programming corresponding to said user profile; and means foridentifying said distinguished enhanced video based content programmingto said receiver; means for intercepting the enhanced video basedcontent programming; means for determining whether the enhanced videobased content programming includes markers inserted by the contentproviders; determining if the enhanced video based content programmingcomplies with a set of network operator rules by examining the markers;permitting the enhanced video based content programming to be receivedby the user receiver if the enhanced video based content programmingcomplies with said set of network operator rules; and preventing theenhanced video based content programming from being received by the userreceiver if the enhanced video based content programming does not complywith said set of network operator rules.
 17. The network based system ofclaim 16, wherein said distinguished enhanced content programming iscomplementary to said user profile.
 18. The network based system ofclaim 16, wherein said receiver is at least one of a set top box, atelephone, a personal digital assistant (PDA), and a computers.
 19. Thenetwork based system of claim 16, wherein said network is at least oneof cable, fiber optics, telephone lines, terrestrial broadcast systems,and satellite broadcast systems.
 20. The network based system of claim16, further comprising a display coupled to said receiver for displayingboth said standard programming and said enhanced video based contentprogramming.
 21. The network based system of claim 16, furthercomprising means coupled to said receiver for a user to modify said userprofile.
 22. The network based system of claim 16, said network operatorfurther comprising means coupled to said receiver for a user to input aset of criteria to be used by said network operator to determine whatinformation to extract from said transaction information.
 23. Thenetwork based system of claim 16, wherein said network operator furthercomprising: inputting means for inputting a set of criteria to be usedto determine what information to extract from said transactioninformation.
 24. The network based system of claim 16, said networkoperator further comprising means for discriminating between initializedtransaction and finalized transaction information, wherein said portionof said extracted transaction information used to form said user profileis said finalized transaction information.
 25. The network based systemof claim 16, said network operator further comprising means forperiodically updating said user profile.
 26. The network based system ofclaim 16, said network operator further comprising means forcontinuously updating said user profile.
 27. The network based system ofclaim 16, said means for monitoring information further comprising meansfor detecting triggers within said enhanced video based contentprogramming.